|
Cytosim
PI
Cytoskeleton Simulator
|
A Couple is stored in one of 4 NodeList, depending on its state:
The lists are accessible via firstFF() and firstFA(), firstAF() and firstAA. This way, when scanning the Couple, the states of both hands are known, and we can save the corresponding tests. This is very efficient.
A Couple is automatically transfered to the appropriate list, if one of its Hand binds or unbind. This is one role of HandMonitor: HandMonitor::afterAttachment() and HandMonitor::afterDetachment() are called by the Hand, and call CoupleSet::relink().
Public Member Functions | |
| CoupleSet (Simul &s) | |
| creator | |
| virtual | ~CoupleSet () |
| destructor | |
| std::string | kind () const |
| identifies the class | |
| Property * | newProperty (const std::string &kind, const std::string &name, Glossary &) const |
| create a new property for class kind with given name | |
| Object * | newObject (const std::string &kind, const std::string &prop, Glossary &opt) |
| create a new object from the corresponding property | |
| ObjectList | newObjects (const std::string &kd, const std::string &nm, Glossary &opt) |
| create new objects | |
| Object * | newObjectT (const Tag tag, int prop_index) |
| construct object | |
| Couple * | firstFF () const |
| first free | |
| Couple * | lastFF () const |
| last free | |
| Couple * | firstAF () const |
| first Couple attached by cHand1 | |
| Couple * | firstFA () const |
| first Couple attached by cHand2 | |
| Couple * | firstAA () const |
| first Couple attached by both hands | |
| unsigned int | sizeFF () const |
| number of free Couples | |
| unsigned int | sizeAF () const |
| number of Couples attached by cHand1 | |
| unsigned int | sizeFA () const |
| number of Couples attached by cHand2 | |
| unsigned int | sizeAA () const |
| number of Couples attached by both hands | |
| unsigned int | size () const |
| total number of elements | |
| Couple * | find (Number n) const |
| return pointer to the Object of given Number, or zero if not found | |
| void | link (Object *) |
| register into the list | |
| ObjectList | collect (bool(*func)(Object const *, void *), void *) const |
| collect Object for which func(this, val) == true | |
| void | erase () |
| erase all Object and all Property | |
| void | mix () |
| mix order of elements | |
| void | prepare (PropertyList &properties) |
| prepare for step() | |
| void | step (FiberSet const &, FiberGrid const &) |
| Monte-Carlo step. | |
| void | relax () |
| return all reserves to the normal lists | |
| void | freeze () |
| transfer all object to ice | |
| void | thaw (bool erase) |
| delete objects, or put them back in normal list | |
| void | write (OutputWrapper &) const |
| write More... | |
| void | foldPosition (const Modulo *) const |
| modulo the position (periodic boundary conditions) | |
| int | bad () const |
| debug function | |
Public Member Functions inherited from ObjectSet | |
| ObjectSet (Simul &s) | |
| creator | |
| virtual | ~ObjectSet () |
| destructor | |
| virtual ObjectList | newPlacedObjects (const std::string &kind, const std::string &name, Glossary &opt) |
| create new objects, translate and rotate them according to specifications in opt More... | |
| virtual void | add (Object *) |
| register Object, and add it at the end of the list | |
| void | add (ObjectList &) |
| remove Object in ObjectList | |
| virtual void | remove (Object *) |
| remove Object | |
| void | remove (ObjectList &) |
| remove Object in ObjectList | |
| virtual void | relink (Object *) |
| unlink and relink object. This places it last in the list More... | |
| void | erase (Object *) |
| remove Object, and delete it | |
| Object * | first () const |
| first Object in the list | |
| Object * | first (const Property *) const |
| return an Object which has this property More... | |
| Object * | last () const |
| last Object | |
| Object * | find (const Number n) const |
| find Object of given serial-number (see Inventoried) | |
| Object * | findObject (long n) const |
| return Object with serial-number if ( n > 0 ) or object from the end of the list if ( n <= 0 ) More... | |
| void | readObject (InputWrapper &, Tag, char pretag) |
| read one Object from file More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from ObjectSet | |
| static void | translateObjects (ObjectList const &, Vector const &) |
| apply translation to all Objects in ObjectList More... | |
| static void | rotateObjects (ObjectList const &, Rotation const &) |
| apply rotation to all Objects in ObjectList More... | |
Public Attributes inherited from ObjectSet | |
| Inventory | inventory |
| holds pointers to the Objects in a array of Numbers | |
| NodeList | nodes |
| holds pointers to the Objects in a doubly linked list | |
| Simul & | simul |
| the Simul containing this ObjectSet | |
Protected Member Functions inherited from ObjectSet | |
| void | forget (NodeList &) |
| remove all nodes in the list from the inventory | |
Static Protected Member Functions inherited from ObjectSet | |
| static ObjectList | collect (const NodeList &, bool(*func)(Object const *, void *), void *) |
| collect Object from NodeList for which func(obj, val) == true | |
| static void | write (const NodeList &, OutputWrapper &) |
| write Object in NodeList to file More... | |
| static Vector | placeObjects (ObjectList const &, Glossary &opt, const Space *) |
| place all Objects in ObjectList using the same combinations of translation/rotation More... | |
Protected Attributes inherited from ObjectSet | |
| NodeList | ice |
| a list used to store the objects temporarily while a state is imported | |
|
virtual |